module hunt.security.acl.permission.Permission; import hunt.security.acl.permission.Item; class Permission { PermissionItem[string] permissions; public Permission addPermission(PermissionItem permission) { this.permissions[permission.key] = permission; return this; } public Permission addPermissions(PermissionItem[string] permissions) { foreach(permission; permissions) { addPermission(permission); } return this; } public bool hasPermission(string key) { return (key in permissions) != null; } public Permission addPermission(string name, string key) { addPermission( PermissionItem(name, key)); return this; } }